﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Web.Security;
using System.Data.Linq;
using System.Xml;

// NOTE: If you change the class name "Service" here, you must also update the reference to "Service" in Web.config and in the associated .svc file.
public class Service : IService
{
	public bool ValidarUsuario(string nombreUsuario, string clave)
	{
        using (EntidadesUsuariosDataContext eudc = new EntidadesUsuariosDataContext())
        {
            try
            {
                var usuario = (from u in eudc.USUARIOs
                               where u.USUARIO_ID.Equals(nombreUsuario)
                               select u).ToArray();
                if (usuario.Length > 0)
                {
                    return usuario[0].USUARIO_CLAVE.Equals(clave);
                }
            }
            catch (Exception)
            {
            }
            return false;
        }
	}

    public MembershipCreateStatus CrearUsuario(string nombreUsuario, string clave, string email, string telefono, DateTime fechaNac)
    {
        using (EntidadesUsuariosDataContext eudc = new EntidadesUsuariosDataContext())
        {
            try
            {
                var usuario = (from u in eudc.USUARIOs
                               where u.USUARIO_ID.Equals(nombreUsuario)
                               select u).ToArray();
                if (usuario.Length > 0)
                {
                    return MembershipCreateStatus.DuplicateUserName;
                }
                USUARIO nuevoUsuario = new USUARIO();
                nuevoUsuario.USUARIO_CLAVE = clave;
                nuevoUsuario.USUARIO_ID = nombreUsuario;
                nuevoUsuario.USUARIO_MAIL = email;
                nuevoUsuario.USUARIO_CELULAR = telefono;
                nuevoUsuario.USUARIO_FECHA_NACIMIENTO = fechaNac;

                eudc.USUARIOs.InsertOnSubmit(nuevoUsuario);

                eudc.SubmitChanges();
                return MembershipCreateStatus.Success;
            }
            catch (Exception)
            {
                //XmlDocument xmlDoc = new XmlDocument();
                //xmlDoc.InnerXml = "<pepe><error>" + ex.Message + "</error></pepe>";
                //xmlDoc.Save(System.AppDomain.CurrentDomain.BaseDirectory + "App_Data/error.xml");
                return MembershipCreateStatus.ProviderError;
            }
        }        
    }

}
